package com.egreen.common;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 后端提交到前端的数据格式
 *
 * @author cloudJiang
 * @date 2022/6/6 9:20
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result extends Object{
    /**
     * data存储具体数据
     * executeStates 操作状态，其中包含操作信息
     */
    private Object data;
    private Integer states;
    private String description;

    /**
     * 有返回值操作成功
     *
     * @param data
     * @return
     */
    public static Result OK(Object data) {
        return new Result(data, 20000, "操作成功");
    }

    /**
     * 无返回值操作成功
     *
     * @return
     */
    public static Result OK() {
        return new Result(null, 20000, "操作成功");
    }

    /**
     * 无返回值操作失败
     * @param states
     * @return
     */
    public static Result Error(States states) {
        return new Result(null, states.getStates(), states.getDescription());
    }
}
